Distributed computing is generally a field of computer science that studies or utilizes distributed systems. A distributed computing system is traditionally a system in which components located on networked computers communicate and coordinate their actions by passing messages amongst themselves. The components interact with each other in order to achieve a common goal. General characteristics of distributed systems may include concurrency of components, lack of a global clock, and allowances for independent failure of components. Examples of distributed systems vary from massively multiplayer online games to peer-to-peer applications.
The word “distributed” in terms such as “distributed system”, “distributed programming”, “distributed file system”, etc. originally referred to computer networks where the individual computers were physically distributed within some geographical area. The term is nowadays used in a much wider sense, and often refers to autonomous processes that run within the same physical location and interact with each other by message passing.
A distributed computing system may have a common goal, such as solving a large computational problem. For example, in some distributed systems, the computational problem may be broken down into a plurality of smaller tasks that may be executed simultaneously or in parallel, and these tasks may be assigned to various computers of the distributed system. In such a system, the larger computational problem may be solved more quickly by leveraging the execution power of the distributed system to process the problem substantially in parallel, as opposed to a single computer processing the problem sequentially.